package com.xhdx.miyao;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

import com.xhdx.miyao.util.CryptUtils;
import com.xhdx.miyao.util.SignSha1;

public class miyao {
    /**
     * @param trustClient
     * @param cnashu: xxx=1value&yyy=value2
     * @return
     */
    public static String outputMiya (String trustClient,String cnashu) {
        Map<String, String> maps = new HashMap<String, String>();
        if(cnashu==null || ("").equals(cnashu)){
            return "";
        }
        String pp[] = cnashu.split("&");
        for(String p:pp){
            String cs[] = p.split("=");
            int size = cs.length;
            if(size>1){
                maps.put(cs[0], cs[1]);
            }else{
                maps.put(cs[0], "");
            }
        }
        try {
            String signMessage = SignSha1.sha1(maps,trustClient);
            signMessage = CryptUtils.getMD5Code(signMessage).toUpperCase();
            
            System.out.println(signMessage);
            
            return signMessage;
        } catch (Exception e) {
            return "";
        }
        
    }
    public static String chageSpUxids(String trop) {
        if (trop.length() < 5) {
            return trop;
        }
        String[] serYx = { generateShortUuid(), trop.substring(0, 4),
                UUID.randomUUID().toString().replace("-", ""), trop.substring(4, 5), generateShortUuid(),
                trop.substring(5), UUID.randomUUID().toString().replace("-", ""),
                UUID.randomUUID().toString().replace("-", "") };
        String str2 = Arrays.stream(serYx).map(i -> i).reduce("", String::concat);
        return str2;

    }
    public static String generateShortUuid() {
        String[] chars = new String[] { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p",
                "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A",
                "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V",
                "W", "X", "Y", "Z" };
        StringBuffer shortBuffer = new StringBuffer();
        String uuid = UUID.randomUUID().toString().replace("-", "");
        for (int i = 0; i < 8; i++) {
            String str = uuid.substring(i * 4, i * 4 + 4);
            int x = Integer.parseInt(str, 16);
            shortBuffer.append(chars[x % 0x3E]);
        }
        return shortBuffer.toString();

    }
}
